/*
 * @Author: xiaosihan 
 * @Date: 2021-03-28 02:25:11 
 * @Last Modified by: xiaosihan
 * @Last Modified time: 2021-06-06 14:00:33
 */

import getBrowserInfo from 'get-browser-info';
import { configure, observable } from 'mobx';

// mobx 配置
configure({
    enforceActions: 'never' // 允许直接修改状态
})

// 浏览器 列表
//browser: ['Safari', 'Chrome', 'Edge', 'IE', 'Firefox', 'Firefox Focus', 'Chromium', 'Opera', 'Vivaldi', 'Yandex', 'Arora', 'Lunascape', 'QupZilla', 'Coc Coc', 'Kindle', 'Iceweasel', 'Konqueror', 'Iceape', 'SeaMonkey', 'Epiphany', '360', '360SE', '360EE', 'UC', 'QQBrowser', 'QQ', 'Baidu', 'Maxthon', 'Sogou', 'LBBROWSER', '2345Explorer', 'TheWorld', 'XiaoMi', 'Quark', 'Qiyu', 'Wechat', 'Taobao', 'Alipay', 'Weibo', 'Douban', 'Suning', 'iQiYi'],
// browserInfo = {
// browser: "Chrome"
// browserVersion: "83.0.4103.61"
// device: "PC"
// engine: "Blink"
// language: "zh_CN"
// os: "Windows"
// osVersion: "10.0"
// }

// 全局状态
const globalStore = observable({

    isDev: window._DEV_, // 开发模式

    isMobile: /Android|webOS|iPhone|iPad|BlackBerry|IEMobile|Nexus/i.test(navigator.userAgent), // 是否移动端

    browserInfo: getBrowserInfo(), //浏览器信息

    isIE: getBrowserInfo().browser === "IE",

    isFirefox: getBrowserInfo().browser === "Firefox",

    zoom: 1, // 当前浏览器缩放比

    unZoom: 1, // 当前浏览器缩放反比

    testValue1: '0', //  测试用的

    testValue2: '0' //  测试用的
});

if (globalStore.isDev) {
    window.globalStore = globalStore;
}

export default globalStore;

// 在pc上为body设置zoom比例 适应屏幕变窄
// const resize = () => {

//     let referenceWidth = globalStore.isMobile ? 480 : 1366; // 参考宽度
//     let vw = document.documentElement.clientWidth;

//     let zoom = Math.min(1, vw / referenceWidth);

//     let unZoom = globalStore.isIE ? 1 : Math.max(1, referenceWidth / vw);

//     const body = document.body;
//     body.style.zoom = String(zoom);

//     // ie单独处理
//     if (globalStore.isIE) {
//         body.style.width = 100 / zoom + '%';
//         body.style.height = 100 / zoom + '%';
//     }
//     // 火狐单独处理
//     if (globalStore.isFirefox) {
//         body.style.width = 100 / zoom + '%';
//         body.style.height = 100 / zoom + '%';
//         body.style.height = 100 / zoom + '%';
//         body.style.transformOrigin = 'left top';
//         body.style.transform = `scale(${zoom}, ${zoom})`;
//     }

//     globalStore.zoom = zoom;
//     globalStore.unZoom = unZoom;
// };

// resize();

// elementResizeEvent(document.documentElement, resize);
